From: Alessandro Bono Date: Mon, 29 Jun 2026 11:16:40 +0000 (+0200) Subject: shell/global: Iterate over all leisure closures X-Git-Tag: archive/raspbian/50.5-1+rpi1^2~9^2^2~20 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1769ee38a4fe74e6b0ee0e98f27bd32459c63d27;p=gnome-shell.git shell/global: Iterate over all leisure closures The loop was using 'closures->data' instead of 'iter->data', causing only the first leisure closure to be executed and freed on each cycle. All subsequent closures in the list were leaked. Part-of: (cherry picked from commit 28fc2fc85b34e8c8291330d4b62d5a3e1092b3d6) --- diff --git a/src/shell-global.c b/src/shell-global.c index b6565a64e..dc4075e26 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -1277,7 +1277,7 @@ run_leisure_functions (gpointer data) for (iter = closures; iter; iter = iter->next) { - LeisureClosure *closure = closures->data; + LeisureClosure *closure = iter->data; closure->func (closure->user_data); if (closure->notify)